package pack;

import java.util.ArrayList;

public class CPU {

//	private int end[] = new int[179];
	public int mmemoria[][] = new int[179][23];
	// private int mmemoria2[][] = new int[179][23];
	public ArrayList<Short> execMicro;
	public ArrayList<String> labelMicro;
	public ArrayList<String> logMicro;
	public Memory mPrincipal;
	public short r0, r1, r2, r3, r4, pc, rend, rdados, ra, rb, ir, compara;
	public int sinais[] = new int[23];
	public int end[] = new int[179];
	public Boolean flags[] = new Boolean[6];
	public Boolean loaded = false;

	public CPU() {
		execMicro = new ArrayList<Short>();
		labelMicro= new ArrayList<String>();
		logMicro= new ArrayList<String>();
		initMemory();
		initLabelMicro();
		mPrincipal = new Memory();
		execMicro.add((short)1);
		execMicro.add((short)2);
		execMicro.add((short)3);

	}

	/*
	 * ~CPU() { delete sinais; }
	 */

	void execute() {
		if (execMicro.isEmpty()) {
			pegaisntrucao(ir);
		}
		executaMicro(execMicro.get(0));
		execMicro.remove(0);
	}

	void limpar() {
		r0 = r1 = r2 = r3 = r4 = pc = rend = rdados = ra = rb = ir = compara = 0;
		flags[0] = flags[1] = flags[2] = flags[3] = flags[4] = flags[5] = false;
		for (int i=0;i<23;i++)
			sinais[i]=0;
		logMicro= new ArrayList<String>();
		while (!execMicro.isEmpty())
			execMicro.remove(0);
		execMicro.add((short)(short)1);
		execMicro.add((short)(short)2);
		execMicro.add((short)(short)3);
		mPrincipal = new Memory();
	}

	void leprograma(String file) {
		mPrincipal.init(file);
		loaded=true;
	}

	private void pegaisntrucao(int codigo) {
		switch (codigo) {
		/* ADD */
		case 0x00c0:
			execMicro.add((short)(short)4);
			execMicro.add((short)(short)2);
			execMicro.add((short)(short)10);
			execMicro.add((short)(short)16);
			break;
		case 0x00c1:
			execMicro.add((short)(short)4);
			execMicro.add((short)(short)2);
			execMicro.add((short)(short)10);
			execMicro.add((short)(short)20);
			break;
		case 0x00c2:
			execMicro.add((short)(short)4);
			execMicro.add((short)(short)2);
			execMicro.add((short)(short)24);
			break;
		case 0x00c3:
			execMicro.add((short)(short)4);
			execMicro.add((short)(short)2);
			execMicro.add((short)(short)28);
			break;
		case 0x00c4:
			execMicro.add((short)(short)4);
			execMicro.add((short)(short)2);
			execMicro.add((short)(short)32);
			break;
		case 0x00c6:
			execMicro.add((short)(short)4);
			execMicro.add((short)(short)2);
			execMicro.add((short)(short)10);
			execMicro.add((short)(short)5);
			execMicro.add((short)(short)2);
			execMicro.add((short)(short)36);
			break;
		case 0x00c7:
			execMicro.add((short)(short)4);
			execMicro.add((short)(short)2);
			execMicro.add((short)(short)10);
			execMicro.add((short)(short)6);
			execMicro.add((short)(short)2);
			execMicro.add((short)(short)36);
			break;
		case 0x00c8:
			execMicro.add((short)(short)4);
			execMicro.add((short)(short)2);
			execMicro.add((short)(short)10);
			execMicro.add((short)(short)7);
			execMicro.add((short)(short)2);
			execMicro.add((short)(short)36);
			break;
		case 0x00c9:
			execMicro.add((short)(short)4);
			execMicro.add((short)(short)2);
			execMicro.add((short)(short)10);
			execMicro.add((short)(short)8);
			execMicro.add((short)(short)2);
			execMicro.add((short)(short)36);
			break;
		case 0x00cA:
			execMicro.add((short)(short)4);
			execMicro.add((short)(short)2);
			execMicro.add((short)(short)10);
			execMicro.add((short)(short)9);
			execMicro.add((short)(short)2);
			execMicro.add((short)(short)36);
			break;
		case 0x0000:
			execMicro.add((short)(short)11);
			execMicro.add((short)(short)16);
			break;
		case 0x0001:
			execMicro.add((short)(short)11);
			execMicro.add((short)(short)20);
			break;
		case 0x0002:
			execMicro.add((short)(short)25);
			break;
		case 0x0003:
			execMicro.add((short)(short)29);
			break;
		case 0x0004:
			execMicro.add((short)(short)33);
			break;
		case 0x0010:
			execMicro.add((short)(short)12);
			execMicro.add((short)(short)16);
			break;
		case 0x0011:
			execMicro.add((short)(short)12);
			execMicro.add((short)(short)20);
			break;
		case 0x0012:
			execMicro.add((short)(short)26);
			break;
		case 0x0013:
			execMicro.add((short)(short)30);
			break;
		case 0x0014:
			execMicro.add((short)(short)34);
			break;
		case 0x0020:
			execMicro.add((short)(short)17);
			break;
		case 0x0021:
			execMicro.add((short)(short)21);
			break;
		case 0x0022:
			execMicro.add((short)(short)13);
			execMicro.add((short)(short)27);
			break;
		case 0x0023:
			execMicro.add((short)(short)13);
			execMicro.add((short)(short)31);
			break;
		case 0x0024:
			execMicro.add((short)(short)13);
			execMicro.add((short)(short)35);
			break;
		case 0x0030:
			execMicro.add((short)(short)18);
			break;
		case 0x0031:
			execMicro.add((short)(short)22);
			break;
		case 0x0032:
			execMicro.add((short)(short)14);
			execMicro.add((short)(short)27);
			break;
		case 0x0033:
			execMicro.add((short)(short)14);
			execMicro.add((short)(short)31);
			break;
		case 0x0034:
			execMicro.add((short)(short)14);
			execMicro.add((short)(short)35);
			break;
		case 0x0040:
			execMicro.add((short)(short)19);
			break;
		case 0x0041:
			execMicro.add((short)(short)23);
			break;
		case 0x0042:
			execMicro.add((short)(short)15);
			execMicro.add((short)(short)27);
			break;
		case 0x0043:
			execMicro.add((short)(short)15);
			execMicro.add((short)(short)31);
			break;
		case 0x0044:
			execMicro.add((short)(short)15);
			execMicro.add((short)(short)35);
			break;
		case 0x0006:
			execMicro.add((short)(short)11);
			execMicro.add((short)(short)5);
			execMicro.add((short)(short)2);
			execMicro.add((short)(short)36);
			break;
		case 0x0007:
			execMicro.add((short)(short)11);
			execMicro.add((short)(short)6);
			execMicro.add((short)(short)2);
			execMicro.add((short)(short)36);
			break;
		case 0x0008:
			execMicro.add((short)(short)11);
			execMicro.add((short)(short)7);
			execMicro.add((short)(short)2);
			execMicro.add((short)(short)36);
			break;
		case 0x0009:
			execMicro.add((short)(short)11);
			execMicro.add((short)(short)8);
			execMicro.add((short)(short)2);
			execMicro.add((short)(short)36);
			break;
		case 0x000A:
			execMicro.add((short)(short)11);
			execMicro.add((short)(short)9);
			execMicro.add((short)(short)2);
			execMicro.add((short)(short)36);
			break;
		case 0x0016:
			execMicro.add((short)12);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0017:
			execMicro.add((short)12);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0018:
			execMicro.add((short)12);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0019:
			execMicro.add((short)12);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x001A:
			execMicro.add((short)12);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0026:
			execMicro.add((short)151);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0027:
			execMicro.add((short)151);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0028:
			execMicro.add((short)151);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0029:
			execMicro.add((short)151);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x002A:
			execMicro.add((short)151);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0036:
			execMicro.add((short)152);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0037:
			execMicro.add((short)152);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0038:
			execMicro.add((short)152);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0039:
			execMicro.add((short)152);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x003A:
			execMicro.add((short)152);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0046:
			execMicro.add((short)153);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0047:
			execMicro.add((short)153);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0048:
			execMicro.add((short)153);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0049:
			execMicro.add((short)153);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x004A:
			execMicro.add((short)153);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0060:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)16);
			break;
		case 0x0061:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)20);
			break;
		case 0x0062:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)27);
			break;
		case 0x0063:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)31);
			break;
		case 0x0064:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)35);
			break;
		case 0x0070:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)16);
			break;
		case 0x0071:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)20);
			break;
		case 0x0072:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)27);
			break;
		case 0x0073:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)31);
			break;
		case 0x0074:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)35);
			break;
		case 0x0080:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)16);
			break;
		case 0x0081:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)20);
			break;
		case 0x0082:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)27);
			break;
		case 0x0083:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)31);
			break;
		case 0x0084:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)35);
			break;
		case 0x0090:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)16);
			break;
		case 0x0091:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)20);
			break;
		case 0x0092:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)27);
			break;
		case 0x0093:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)31);
			break;
		case 0x0094:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)35);
			break;
		case 0x00A0:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)16);
			break;
		case 0x00A1:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)20);
			break;
		case 0x00A2:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)27);
			break;
		case 0x00A3:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)31);
			break;
		case 0x00A4:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)35);
			break;
		case 0x0066:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0067:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0068:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0069:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x006A:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0076:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0077:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0078:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0079:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x007A:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0086:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0087:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0088:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0089:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x008A:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0096:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0097:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0098:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x0099:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x009A:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x00A6:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x00A7:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x00A8:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x00A9:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;
		case 0x00AA:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)36);
			break;

		/* SUB */
		case 0x01c0:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)37);
			break;
		case 0x01c1:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)41);
			break;
		case 0x01c2:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)45);
			break;
		case 0x01c3:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)49);
			break;
		case 0x01c4:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)53);
			break;
		case 0x01c6:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x01c7:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x01c8:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x01c9:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x01cA:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0100:
			execMicro.add((short)11);
			execMicro.add((short)37);
			break;
		case 0x0101:
			execMicro.add((short)11);
			execMicro.add((short)41);
			break;
		case 0x0102:
			execMicro.add((short)46);
			break;
		case 0x0103:
			execMicro.add((short)50);
			break;
		case 0x0104:
			execMicro.add((short)54);
			break;
		case 0x0110:
			execMicro.add((short)12);
			execMicro.add((short)37);
			break;
		case 0x0111:
			execMicro.add((short)12);
			execMicro.add((short)41);
			break;
		case 0x0112:
			execMicro.add((short)47);
			break;
		case 0x0113:
			execMicro.add((short)51);
			break;
		case 0x0114:
			execMicro.add((short)55);
			break;
		case 0x0120:
			execMicro.add((short)38);
			break;
		case 0x0121:
			execMicro.add((short)42);
			break;
		case 0x0122:
			execMicro.add((short)13);
			execMicro.add((short)48);
			break;
		case 0x0123:
			execMicro.add((short)13);
			execMicro.add((short)52);
			break;
		case 0x0124:
			execMicro.add((short)13);
			execMicro.add((short)56);
			break;
		case 0x0130:
			execMicro.add((short)39);
			break;
		case 0x0131:
			execMicro.add((short)43);
			break;
		case 0x0132:
			execMicro.add((short)14);
			execMicro.add((short)48);
			break;
		case 0x0133:
			execMicro.add((short)14);
			execMicro.add((short)52);
			break;
		case 0x0134:
			execMicro.add((short)14);
			execMicro.add((short)56);
			break;
		case 0x0140:
			execMicro.add((short)40);
			break;
		case 0x0141:
			execMicro.add((short)44);
			break;
		case 0x0142:
			execMicro.add((short)15);
			execMicro.add((short)48);
			break;
		case 0x0143:
			execMicro.add((short)15);
			execMicro.add((short)52);
			break;
		case 0x0144:
			execMicro.add((short)15);
			execMicro.add((short)56);
			break;
		case 0x0106:
			execMicro.add((short)11);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0107:
			execMicro.add((short)11);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0108:
			execMicro.add((short)11);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0109:
			execMicro.add((short)11);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x010A:
			execMicro.add((short)11);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0116:
			execMicro.add((short)12);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0117:
			execMicro.add((short)12);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0118:
			execMicro.add((short)12);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0119:
			execMicro.add((short)12);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x011A:
			execMicro.add((short)12);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0126:
			execMicro.add((short)151);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0127:
			execMicro.add((short)151);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0128:
			execMicro.add((short)151);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0129:
			execMicro.add((short)151);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x012A:
			execMicro.add((short)151);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0136:
			execMicro.add((short)152);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0137:
			execMicro.add((short)152);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0138:
			execMicro.add((short)152);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0139:
			execMicro.add((short)152);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x013A:
			execMicro.add((short)152);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0146:
			execMicro.add((short)153);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0147:
			execMicro.add((short)153);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0148:
			execMicro.add((short)153);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0149:
			execMicro.add((short)153);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x014A:
			execMicro.add((short)153);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0160:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)37);
			break;
		case 0x0161:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)41);
			break;
		case 0x0162:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)48);
			break;
		case 0x0163:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)52);
			break;
		case 0x0164:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)56);
			break;
		case 0x0170:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)37);
			break;
		case 0x0171:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)41);
			break;
		case 0x0172:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)48);
			break;
		case 0x0173:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)52);
			break;
		case 0x0174:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)56);
			break;
		case 0x0180:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)37);
			break;
		case 0x0181:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)41);
			break;
		case 0x0182:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)48);
			break;
		case 0x0183:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)52);
			break;
		case 0x0184:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)56);
			break;
		case 0x0190:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)37);
			break;
		case 0x0191:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)41);
			break;
		case 0x0192:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)48);
			break;
		case 0x0193:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)52);
			break;
		case 0x0194:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)56);
			break;
		case 0x01A0:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)37);
			break;
		case 0x01A1:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)41);
			break;
		case 0x01A2:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)48);
			break;
		case 0x01A3:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)52);
			break;
		case 0x01A4:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)56);
			break;
		case 0x0166:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0167:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0168:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0169:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x016A:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0176:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0177:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0178:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0179:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x017A:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0186:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0187:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0188:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0189:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x018A:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0196:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0197:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0198:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x0199:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x019A:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x01A6:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x01A7:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x01A8:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x01A9:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;
		case 0x01AA:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)57);
			break;

		/* MOV */
		case 0x02c0:
			execMicro.add((short)4);
			//execMicro.add((short)1);
			execMicro.add((short)2);
			execMicro.add((short)58);
			break;
		case 0x02c1:
			execMicro.add((short)4);
			//execMicro.add((short)1);
			execMicro.add((short)2);
			execMicro.add((short)59);
			break;
		case 0x02c2:
			execMicro.add((short)4);
			//execMicro.add((short)1);
			execMicro.add((short)2);
			execMicro.add((short)60);
			break;
		case 0x02c3:
			execMicro.add((short)4);
			//execMicro.add((short)1);
			execMicro.add((short)2);
			execMicro.add((short)61);
			break;
		case 0x02c4:
			execMicro.add((short)4);
			//execMicro.add((short)1);
			execMicro.add((short)2);
			execMicro.add((short)62);
			break;
		case 0x02c6:
			execMicro.add((short)4);
			//execMicro.add((short)1);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			// execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x02c7:
			execMicro.add((short)4);
			//execMicro.add((short)1);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			// execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x02c8:
			execMicro.add((short)4);
			//execMicro.add((short)1);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x02c9:
			execMicro.add((short)4);
			//execMicro.add((short)1);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x02cA:
			execMicro.add((short)4);
			//execMicro.add((short)1);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)63);
		case 0x0200:
			execMicro.add((short)155);
			break;
		case 0x0201:
			execMicro.add((short)156);
			break;
		case 0x0202:
			execMicro.add((short)157);
			break;
		case 0x0203:
			execMicro.add((short)158);
			break;
		case 0x0204:
			execMicro.add((short)159);
			break;
		case 0x0210:
			execMicro.add((short)160);
			break;
		case 0x0211:
			execMicro.add((short)161);
			break;
		case 0x0212:
			execMicro.add((short)162);
			break;
		case 0x0213:
			execMicro.add((short)163);
			break;
		case 0x0214:
			execMicro.add((short)164);
			break;
		case 0x0220:
			execMicro.add((short)165);
			break;
		case 0x0221:
			execMicro.add((short)166);
			break;
		case 0x0222:
			execMicro.add((short)167);
			break;
		case 0x0223:
			execMicro.add((short)168);
			break;
		case 0x0224:
			execMicro.add((short)169);
			break;
		case 0x0230:
			execMicro.add((short)170);
			break;
		case 0x0231:
			execMicro.add((short)171);
			break;
		case 0x0232:
			execMicro.add((short)172);
			break;
		case 0x0233:
			execMicro.add((short)173);
			break;
		case 0x0234:
			execMicro.add((short)174);
			break;
		case 0x0240:
			execMicro.add((short)175);
			break;
		case 0x0241:
			execMicro.add((short)176);
			break;
		case 0x0242:
			execMicro.add((short)177);
			break;
		case 0x0243:
			execMicro.add((short)178);
			break;
		case 0x0244:
			execMicro.add((short)179);
			break;
		case 0x0206:
			execMicro.add((short)11);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0207:
			execMicro.add((short)11);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0208:
			execMicro.add((short)11);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0209:
			execMicro.add((short)11);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x020A:
			execMicro.add((short)11);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0216:
			execMicro.add((short)12);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0217:
			execMicro.add((short)12);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0218:
			execMicro.add((short)12);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0219:
			execMicro.add((short)12);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x021A:
			execMicro.add((short)12);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0226:
			execMicro.add((short)13);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0227:
			execMicro.add((short)13);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0228:
			execMicro.add((short)13);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0229:
			execMicro.add((short)13);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x022A:
			execMicro.add((short)13);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0236:
			execMicro.add((short)152);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0237:
			execMicro.add((short)152);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0238:
			execMicro.add((short)152);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0239:
			execMicro.add((short)152);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x023A:
			execMicro.add((short)152);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0246:
			execMicro.add((short)153);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0247:
			execMicro.add((short)153);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0248:
			execMicro.add((short)153);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0249:
			execMicro.add((short)153);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x024A:
			execMicro.add((short)153);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0260:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)58);
			break;
		case 0x0261:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)59);
			break;
		case 0x0262:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)60);
			break;
		case 0x0263:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)61);
			break;
		case 0x0264:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)62);
			break;
		case 0x0270:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)58);
			break;
		case 0x0271:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)59);
			break;
		case 0x0272:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)60);
			break;
		case 0x0273:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)61);
			break;
		case 0x0274:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)62);
			break;
		case 0x0280:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)58);
			break;
		case 0x0281:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)59);
			break;
		case 0x0282:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)60);
			break;
		case 0x0283:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)61);
			break;
		case 0x0284:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)62);
			break;
		case 0x0290:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)58);
			break;
		case 0x0291:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)59);
			break;
		case 0x0292:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)60);
			break;
		case 0x0293:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)61);
			break;
		case 0x0294:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)62);
			break;
		case 0x02A0:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)58);
			break;
		case 0x02A1:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)59);
			break;
		case 0x02A2:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)60);
			break;
		case 0x02A3:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)61);
			break;
		case 0x02A4:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)62);
			break;
		case 0x0266:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0267:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0268:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0269:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x026A:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0276:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0277:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0278:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0279:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x027A:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0286:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0287:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0288:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0289:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x028A:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0296:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0297:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0298:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x0299:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x029A:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x02A6:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x02A7:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x02A8:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x02A9:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;
		case 0x02AA:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)63);
			break;

		/* CMP */
		case 0x03c0:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)67);
			break;
		case 0x03c1:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)68);
			break;
		case 0x03c2:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)65);
			break;
		case 0x03c3:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)66);
			break;
		case 0x03c4:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)64);
			break;
		case 0x03c6:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x03c7:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x03c8:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x03c9:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x03cA:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)70);
			break;
		case 0x0300:
			execMicro.add((short)11);
			execMicro.add((short)67);
			break;
		case 0x0301:
			execMicro.add((short)11);
			execMicro.add((short)68);
			break;
		case 0x0302:
			execMicro.add((short)71);
			break;
		case 0x0303:
			execMicro.add((short)73);
			break;
		case 0x0304:
			execMicro.add((short)75);
			break;
		case 0x0310:
			execMicro.add((short)12);
			execMicro.add((short)67);
			break;
		case 0x0311:
			execMicro.add((short)12);
			execMicro.add((short)68);
			break;
		case 0x0312:
			execMicro.add((short)72);
			break;
		case 0x0313:
			execMicro.add((short)74);
			break;
		case 0x0314:
			execMicro.add((short)76);
			break;
		case 0x0320:
			execMicro.add((short)71);
			break;
		case 0x0321:
			execMicro.add((short)72);
			break;
		case 0x0322:
			execMicro.add((short)13);
			execMicro.add((short)65);
			break;
		case 0x0323:
			execMicro.add((short)13);
			execMicro.add((short)66);
			break;
		case 0x0324:
			execMicro.add((short)13);
			execMicro.add((short)64);
			break;
		case 0x0330:
			execMicro.add((short)73);
			break;
		case 0x0331:
			execMicro.add((short)74);
			break;
		case 0x0332:
			execMicro.add((short)14);
			execMicro.add((short)65);
			break;
		case 0x0333:
			execMicro.add((short)14);
			execMicro.add((short)66);
			break;
		case 0x0334:
			execMicro.add((short)14);
			execMicro.add((short)64);
			break;
		case 0x0340:
			execMicro.add((short)75);
			break;
		case 0x0341:
			execMicro.add((short)76);
			break;
		case 0x0342:
			execMicro.add((short)15);
			execMicro.add((short)65);
			break;
		case 0x0343:
			execMicro.add((short)15);
			execMicro.add((short)66);
			break;
		case 0x0344:
			execMicro.add((short)15);
			execMicro.add((short)64);
			break;
		case 0x0306:
			execMicro.add((short)11);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0307:
			execMicro.add((short)11);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0308:
			execMicro.add((short)11);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0309:
			execMicro.add((short)11);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x030A:
			execMicro.add((short)11);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0316:
			execMicro.add((short)12);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0317:
			execMicro.add((short)12);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0318:
			execMicro.add((short)12);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0319:
			execMicro.add((short)12);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x031A:
			execMicro.add((short)12);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0326:
			execMicro.add((short)13);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0327:
			execMicro.add((short)13);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0328:
			execMicro.add((short)13);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0329:
			execMicro.add((short)13);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x032A:
			execMicro.add((short)13);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0336:
			execMicro.add((short)152);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0337:
			execMicro.add((short)152);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0338:
			execMicro.add((short)152);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0339:
			execMicro.add((short)152);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x033A:
			execMicro.add((short)152);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0346:
			execMicro.add((short)153);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0347:
			execMicro.add((short)153);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0348:
			execMicro.add((short)153);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0349:
			execMicro.add((short)153);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x034A:
			execMicro.add((short)153);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0360:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)67);
			break;
		case 0x0361:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)68);
			break;
		case 0x0362:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)65);
			break;
		case 0x0363:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)66);
			break;
		case 0x0364:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)64);
			break;
		case 0x0370:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)67);
			break;
		case 0x0371:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)68);
			break;
		case 0x0372:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)65);
			break;
		case 0x0373:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)66);
			break;
		case 0x0374:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)64);
			break;
		case 0x0380:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)67);
			break;
		case 0x0381:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)68);
			break;
		case 0x0382:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)65);
			break;
		case 0x0383:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)66);
			break;
		case 0x0384:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)66);
			break;
		case 0x0390:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)67);
			break;
		case 0x0391:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)68);
			break;
		case 0x0392:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)65);
			break;
		case 0x0393:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)66);
			break;
		case 0x0394:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)64);
			break;
		case 0x03A0:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)67);
			break;
		case 0x03A1:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)68);
			break;
		case 0x03A2:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)65);
			break;
		case 0x03A3:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)66);
			break;
		case 0x03A4:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)64);
			break;
		case 0x0366:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0367:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0368:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0369:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x036A:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0376:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0377:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0378:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0379:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x037A:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0386:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0387:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0388:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0389:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x038A:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0396:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0397:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0398:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x0399:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x039A:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x03A6:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x03A7:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x03A8:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x03A9:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		case 0x03AA:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)70);
			break;
		/* AND */
		case 0x04c0:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)98);
			break;
		case 0x04c1:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)102);
			break;
		case 0x04c2:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)106);
			break;
		case 0x04c3:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)110);
			break;
		case 0x04c4:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)114);
			break;
		case 0x04c6:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x04c7:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x04c8:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x04c9:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x04cA:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0400:
			execMicro.add((short)11);
			execMicro.add((short)98);
			break;
		case 0x0401:
			execMicro.add((short)11);
			execMicro.add((short)102);
			break;
		case 0x0402:
			execMicro.add((short)107);
			break;
		case 0x0403:
			execMicro.add((short)111);
			break;
		case 0x0404:
			execMicro.add((short)115);
			break;
		case 0x0410:
			execMicro.add((short)12);
			execMicro.add((short)98);
			break;
		case 0x0411:
			execMicro.add((short)12);
			execMicro.add((short)102);
			break;
		case 0x0412:
			execMicro.add((short)108);
			break;
		case 0x0413:
			execMicro.add((short)112);
			break;
		case 0x0414:
			execMicro.add((short)116);
			break;
		case 0x0420:
			execMicro.add((short)99);
			break;
		case 0x0421:
			execMicro.add((short)103);
			break;
		case 0x0422:
			execMicro.add((short)13);
			execMicro.add((short)109);
			break;
		case 0x0423:
			execMicro.add((short)13);
			execMicro.add((short)113);
			break;
		case 0x0424:
			execMicro.add((short)13);
			execMicro.add((short)117);
			break;
		case 0x0430:
			execMicro.add((short)100);
			break;
		case 0x0431:
			execMicro.add((short)104);
			break;
		case 0x0432:
			execMicro.add((short)14);
			execMicro.add((short)109);
			break;
		case 0x0433:
			execMicro.add((short)14);
			execMicro.add((short)113);
			break;
		case 0x0434:
			execMicro.add((short)14);
			execMicro.add((short)117);
			break;
		case 0x0440:
			execMicro.add((short)101);
			break;
		case 0x0441:
			execMicro.add((short)105);
			break;
		case 0x0442:
			execMicro.add((short)15);
			execMicro.add((short)109);
			break;
		case 0x0443:
			execMicro.add((short)15);
			execMicro.add((short)113);
			break;
		case 0x0444:
			execMicro.add((short)15);
			execMicro.add((short)117);
			break;
		case 0x0406:
			execMicro.add((short)11);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0407:
			execMicro.add((short)11);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0408:
			execMicro.add((short)11);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0409:
			execMicro.add((short)11);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x040A:
			execMicro.add((short)11);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0416:
			execMicro.add((short)12);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0417:
			execMicro.add((short)12);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0418:
			execMicro.add((short)12);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0419:
			execMicro.add((short)12);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x041A:
			execMicro.add((short)12);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0426:
			execMicro.add((short)151);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0427:
			execMicro.add((short)151);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0428:
			execMicro.add((short)151);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0429:
			execMicro.add((short)151);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x042A:
			execMicro.add((short)151);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0436:
			execMicro.add((short)152);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0437:
			execMicro.add((short)152);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0438:
			execMicro.add((short)152);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0439:
			execMicro.add((short)152);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x043A:
			execMicro.add((short)152);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0446:
			execMicro.add((short)153);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0447:
			execMicro.add((short)153);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0448:
			execMicro.add((short)153);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0449:
			execMicro.add((short)153);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x044A:
			execMicro.add((short)153);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0460:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)98);
			break;
		case 0x0461:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)102);
			break;
		case 0x0462:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)109);
			break;
		case 0x0463:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)113);
			break;
		case 0x0464:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)117);
			break;
		case 0x0470:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)98);
			break;
		case 0x0471:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)102);
			break;
		case 0x0472:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)109);
			break;
		case 0x0473:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)113);
			break;
		case 0x0474:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)117);
			break;
		case 0x0480:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)98);
			break;
		case 0x0481:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)102);
			break;
		case 0x0482:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)109);
			break;
		case 0x0483:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)113);
			break;
		case 0x0484:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)117);
			break;
		case 0x0490:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)98);
			break;
		case 0x0491:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)102);
			break;
		case 0x0492:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)109);
			break;
		case 0x0493:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)113);
			break;
		case 0x0494:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)117);
			break;
		case 0x04A0:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)98);
			break;
		case 0x04A1:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)102);
			break;
		case 0x04A2:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)109);
			break;
		case 0x04A3:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)113);
			break;
		case 0x04A4:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)117);
			break;
		case 0x0466:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0467:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0468:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0469:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x046A:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0476:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0477:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0478:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0479:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x047A:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0486:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0487:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0488:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0489:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x048A:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0496:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0497:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0498:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x0499:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x049A:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x04A6:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x04A7:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x04A8:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x04A9:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;
		case 0x04AA:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)118);
			break;

		/* OR */
		case 0x05c0:
			execMicro.add((short)150);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)77);
			break;
		case 0x05c1:
			execMicro.add((short)150);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)81);
			break;
		case 0x05c2:
			execMicro.add((short)150);
			execMicro.add((short)2);
			execMicro.add((short)85);
			break;
		case 0x05c3:
			execMicro.add((short)150);
			execMicro.add((short)2);
			execMicro.add((short)89);
			break;
		case 0x05c4:
			execMicro.add((short)150);
			execMicro.add((short)2);
			execMicro.add((short)93);
			break;
		case 0x05c6:
			execMicro.add((short)150);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x05c7:
			execMicro.add((short)150);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x05c8:
			execMicro.add((short)150);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x05c9:
			execMicro.add((short)150);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x05cA:
			execMicro.add((short)150);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)97);
			break;
		case 0x0500:
			execMicro.add((short)11);
			execMicro.add((short)77);
			break;
		case 0x0501:
			execMicro.add((short)11);
			execMicro.add((short)81);
			break;
		case 0x0502:
			execMicro.add((short)86);
			break;
		case 0x0503:
			execMicro.add((short)90);
			break;
		case 0x0504:
			execMicro.add((short)94);
			break;
		case 0x0510:
			execMicro.add((short)12);
			execMicro.add((short)77);
			break;
		case 0x0511:
			execMicro.add((short)12);
			execMicro.add((short)81);
			break;
		case 0x0512:
			execMicro.add((short)87);
			break;
		case 0x0513:
			execMicro.add((short)91);
			break;
		case 0x0514:
			execMicro.add((short)95);
			break;
		case 0x0520:
			execMicro.add((short)78);
			break;
		case 0x0521:
			execMicro.add((short)82);
			break;
		case 0x0522:
			execMicro.add((short)13);
			execMicro.add((short)88);
			break;
		case 0x0523:
			execMicro.add((short)13);
			execMicro.add((short)92);
			break;
		case 0x0524:
			execMicro.add((short)13);
			execMicro.add((short)96);
			break;
		case 0x0530:
			execMicro.add((short)79);
			break;
		case 0x0531:
			execMicro.add((short)83);
			break;
		case 0x0532:
			execMicro.add((short)14);
			execMicro.add((short)88);
			break;
		case 0x0533:
			execMicro.add((short)14);
			execMicro.add((short)92);
			break;
		case 0x0534:
			execMicro.add((short)14);
			execMicro.add((short)96);
			break;
		case 0x0540:
			execMicro.add((short)80);
			break;
		case 0x0541:
			execMicro.add((short)84);
			break;
		case 0x0542:
			execMicro.add((short)15);
			execMicro.add((short)88);
			break;
		case 0x0543:
			execMicro.add((short)15);
			execMicro.add((short)92);
			break;
		case 0x0544:
			execMicro.add((short)15);
			execMicro.add((short)96);
			break;
		case 0x0506:
			execMicro.add((short)11);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0507:
			execMicro.add((short)11);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0508:
			execMicro.add((short)11);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0509:
			execMicro.add((short)11);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x050A:
			execMicro.add((short)11);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0516:
			execMicro.add((short)12);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0517:
			execMicro.add((short)12);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0518:
			execMicro.add((short)12);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0519:
			execMicro.add((short)12);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x051A:
			execMicro.add((short)12);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0526:
			execMicro.add((short)151);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0527:
			execMicro.add((short)151);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0528:
			execMicro.add((short)151);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0529:
			execMicro.add((short)151);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x052A:
			execMicro.add((short)151);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0536:
			execMicro.add((short)152);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0537:
			execMicro.add((short)152);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0538:
			execMicro.add((short)152);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0539:
			execMicro.add((short)152);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x053A:
			execMicro.add((short)152);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0546:
			execMicro.add((short)153);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0547:
			execMicro.add((short)153);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0548:
			execMicro.add((short)153);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0549:
			execMicro.add((short)153);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x054A:
			execMicro.add((short)153);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0560:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)77);
			break;
		case 0x0561:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)81);
			break;
		case 0x0562:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)88);
			break;
		case 0x0563:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)92);
			break;
		case 0x0564:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)96);
			break;
		case 0x0570:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)77);
			break;
		case 0x0571:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)81);
			break;
		case 0x0572:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)88);
			break;
		case 0x0573:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)92);
			break;
		case 0x0574:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)96);
			break;
		case 0x0580:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)77);
			break;
		case 0x0581:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)81);
			break;
		case 0x0582:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)88);
			break;
		case 0x0583:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)92);
			break;
		case 0x0584:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)96);
			break;
		case 0x0590:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)77);
			break;
		case 0x0591:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)81);
			break;
		case 0x0592:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)88);
			break;
		case 0x0593:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)92);
			break;
		case 0x0594:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)96);
			break;
		case 0x05A0:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)77);
			break;
		case 0x05A1:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)81);
			break;
		case 0x05A2:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)88);
			break;
		case 0x05A3:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)192);
			break;
		case 0x05A4:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)154);
			execMicro.add((short)154);
			break;
		case 0x0566:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0567:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0568:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0569:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x056A:
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0576:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0577:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0578:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0579:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x057A:
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0586:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0587:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0588:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0589:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x058A:
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0596:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0597:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0598:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x0599:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x059A:
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x05A6:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)5);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x05A7:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)6);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x05A8:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)7);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x05A9:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)8);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		case 0x05AA:
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)10);
			execMicro.add((short)9);
			execMicro.add((short)2);
			execMicro.add((short)97);
			break;
		/* NOT */
		case 0x0600:
			execMicro.add((short)143);
			break;
		case 0x0601:
			execMicro.add((short)144);
			break;
		case 0x0602:
			execMicro.add((short)145);
			break;
		case 0x0603:
			execMicro.add((short)146);
			break;
		case 0x0604:
			execMicro.add((short)147);
			break;
		case 0x0606:
			execMicro.add((short)5);
			execMicro.add((short)148);
			break;
		case 0x0607:
			execMicro.add((short)6);
			execMicro.add((short)148);
			break;
		case 0x0608:
			execMicro.add((short)7);
			execMicro.add((short)148);
			break;
		case 0x0609:
			execMicro.add((short)8);
			execMicro.add((short)148);
			break;
		case 0x060A:
			execMicro.add((short)9);
			execMicro.add((short)148);
			break;

		/* CLR */
		case 0x0700:
			execMicro.add((short)137);
			break;
		case 0x0701:
			execMicro.add((short)138);
			break;
		case 0x0702:
			execMicro.add((short)139);
			break;
		case 0x0703:
			execMicro.add((short)140);
			break;
		case 0x0704:
			execMicro.add((short)141);
			break;
		case 0x0706:
			execMicro.add((short)5);
			execMicro.add((short)142);
			break;
		case 0x0707:
			execMicro.add((short)6);
			execMicro.add((short)142);
			break;
		case 0x0708:
			execMicro.add((short)7);
			execMicro.add((short)142);
			break;
		case 0x0709:
			execMicro.add((short)8);
			execMicro.add((short)142);
			break;
		case 0x070A:
			execMicro.add((short)9);
			execMicro.add((short)142);
			break;

		/* NEG */
		case 0x0800:
			execMicro.add((short)131);
			break;
		case 0x0801:
			execMicro.add((short)132);
			break;
		case 0x0802:
			execMicro.add((short)133);
			break;
		case 0x0803:
			execMicro.add((short)134);
			break;
		case 0x0804:
			execMicro.add((short)135);
			break;
		case 0x0806:
			execMicro.add((short)5);
			execMicro.add((short)136);
			break;
		case 0x0807:
			execMicro.add((short)6);
			execMicro.add((short)136);
			break;
		case 0x0808:
			execMicro.add((short)7);
			execMicro.add((short)136);
			break;
		case 0x0809:
			execMicro.add((short)8);
			execMicro.add((short)136);
			break;
		case 0x080A:
			execMicro.add((short)9);
			execMicro.add((short)136);
			break;
		/* SHL */
		case 0x0900:
			execMicro.add((short)119);
			break;
		case 0x0901:
			execMicro.add((short)120);
			break;
		case 0x0902:
			execMicro.add((short)121);
			break;
		case 0x0903:
			execMicro.add((short)122);
			break;
		case 0x0904:
			execMicro.add((short)123);
			break;
		case 0x0906:
			execMicro.add((short)5);
			execMicro.add((short)124);
			break;
		case 0x0907:
			execMicro.add((short)6);
			execMicro.add((short)124);
			break;
		case 0x0908:
			execMicro.add((short)7);
			execMicro.add((short)124);
			break;
		case 0x0909:
			execMicro.add((short)8);
			execMicro.add((short)124);
			break;
		case 0x090A:
			execMicro.add((short)9);
			execMicro.add((short)124);
			break;

		/* SHR */
		case 0x0A00:
			execMicro.add((short)125);
			break;
		case 0x0A01:
			execMicro.add((short)126);
			break;
		case 0x0A02:
			execMicro.add((short)127);
			break;
		case 0x0A03:
			execMicro.add((short)128);
			break;
		case 0x0A04:
			execMicro.add((short)129);
			break;
		case 0x0A06:
			execMicro.add((short)5);
			execMicro.add((short)130);
			break;
		case 0x0A07:
			execMicro.add((short)6);
			execMicro.add((short)130);
			break;
		case 0x0A08:
			execMicro.add((short)7);
			execMicro.add((short)130);
			break;
		case 0x0A09:
			execMicro.add((short)8);
			execMicro.add((short)130);
			break;
		case 0x0A0A:
			execMicro.add((short)9);
			execMicro.add((short)130);
			break;

		/* BRZ */
		case 0x0B00:
			if (flags[3] == true) {
				execMicro.add((short)4);
				execMicro.add((short)2);
				execMicro.add((short)149);
				execMicro.add((short)1);
				execMicro.add((short)2);
				execMicro.add((short)3);
				return;
				// break;
			}
			execMicro.add((short)150);
			break;
		/* BRN */
		case 0x0C00:
			if (flags[4] == true) {
				execMicro.add((short)4);
				execMicro.add((short)2);
				execMicro.add((short)149);
				execMicro.add((short)1);
				execMicro.add((short)2);
				execMicro.add((short)3);
				return;
				// break;
			}
			execMicro.add((short)150);
			break;
		/* BRE */
		case 0x0D00:
			if (flags[0] == true) {
				execMicro.add((short)4);
				execMicro.add((short)2);
				execMicro.add((short)149);
				execMicro.add((short)1);
				execMicro.add((short)2);
				execMicro.add((short)3);
				return;
				// break;
			}
			execMicro.add((short)150);
			break;
		/* BRL */
		case 0x0E00:
			if (flags[2] == true) {
				execMicro.add((short)4);
				execMicro.add((short)2);
				execMicro.add((short)149);
			}
			execMicro.add((short)150);
			break;
		/* BRG */
		case 0x0F00:
			if (flags[1] == true) {
				execMicro.add((short)4);
				execMicro.add((short)2);
				execMicro.add((short)149);
				execMicro.add((short)1);
				execMicro.add((short)2);
				execMicro.add((short)3);
				return;
				// break;
			}
			execMicro.add((short)150);
			break;
		/* BRC */
		case 0x1000:
			if (flags[5] == true) {
				execMicro.add((short)4);
				execMicro.add((short)2);
				execMicro.add((short)149);
				execMicro.add((short)1);
				execMicro.add((short)2);
				execMicro.add((short)3);
				return;
				// break;
			}
			execMicro.add((short)150);
			break;

		/* JMP */
		case 0x1100:
			execMicro.add((short)4);
			execMicro.add((short)2);
			execMicro.add((short)149);
			execMicro.add((short)1);
			execMicro.add((short)2);
			execMicro.add((short)3);
			return;
			// break;
		}

		execMicro.add((short)150);
		execMicro.add((short)1);
		execMicro.add((short)2);
		execMicro.add((short)3);
	}

	// }
	void executaMicro(int x) {

		/*
		 * int r0, r1, r2, r3, r4, pc, rend, rdados, ra, rb, ir; int sinais[23];
		 * bool flags[6];
		 */
		//imprime a instru��o a ser executada
		System.out.println(labelMicro.get(x-1));
		logMicro.add(labelMicro.get(x-1));
		switch (x) {
		case 1:
			rend = pc;
			sinais = mmemoria[0];
			break;
		case 2:
			rdados = mPrincipal.memory.get(rend);
			sinais = mmemoria[1];
			break;
		case 3:
			ir = rdados;
			sinais = mmemoria[2];
			break;
		case 4:
			rend = (short) (pc + 1);
			pc = (short) (pc + 1);
			if (pc > 0xFFFF) {
				pc -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			sinais = mmemoria[3];
			break;
		case 5:
			rend = r0;
			sinais = mmemoria[4];
			break;
		case 6:
			rend = r1;
			sinais = mmemoria[5];
			break;
		case 7:
			rend = r2;
			sinais = mmemoria[6];
			break;
		case 8:
			rend = r3;
			sinais = mmemoria[7];
			break;
		case 9:
			rend = r4;
			sinais = mmemoria[8];
			break;
		case 10:
			rb = rdados;
			sinais = mmemoria[9];
			break;
		case 11:
			rb = r0;
			sinais = mmemoria[10];
			break;
		case 12:
			rb = r1;
			sinais = mmemoria[11];
			break;
		case 13:
			ra = r2;
			sinais = mmemoria[12];
			break;
		case 14:
			ra = r3;
			sinais = mmemoria[13];
			break;
		case 15:
			ra = r4;
			sinais = mmemoria[14];
			break;
		case 16:
			r0 = (short) (rb + r0);
			sinais = mmemoria[15];
			if (r0 > 0xFFFF) {
				r0 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 17:
			r0 = (short) (r2 + r0);
			sinais = mmemoria[16];
			if (r0 > 0xFFFF) {
				r0 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 18:
			r0 = (short) (r3 + r0);
			sinais = mmemoria[17];
			if (r0 > 0xFFFF) {
				r0 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 19:
			r0 = (short) (r4 + r0);
			sinais = mmemoria[18];
			if (r0 > 0xFFFF) {
				r0 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 20:
			r1 = (short) (rb + r1);
			sinais = mmemoria[19];
			if (r1 > 0xFFFF) {
				r1 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 21:
			r1 = (short) ((short) (r2 + r1));
			sinais = mmemoria[20];
			if (r1 > 0xFFFF) {
				r1 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 22:
			r1 = (short) (r3 + r1);
			sinais = mmemoria[21];
			if (r1 > 0xFFFF) {
				r1 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 23:
			r1 = (short) (r4 + r1);
			sinais = mmemoria[22];
			if (r1 > 0xFFFF) {
				r1 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 24:
			r2 = (short) (rdados + r2);
			sinais = mmemoria[23];
			if (r2 > 0xFFFF) {
				r2 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 25:
			r2 = (short) (r0 + r2);
			sinais = mmemoria[24];
			if (r2 > 0xFFFF) {
				r2 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 26:
			r2 = (short) (r1 + r2);
			sinais = mmemoria[25];
			if (r2 > 0xFFFF) {
				r2 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 27:
			r2 = (short) (ra + r2);
			sinais = mmemoria[26];
			if (r2 > 0xFFFF) {
				r2 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 28:
			r3 = (short) (rdados + r3);
			sinais = mmemoria[27];
			if (r3 > 0xFFFF) {
				r3 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 29:
			r3 = (short) (r0 + r3);
			sinais = mmemoria[28];
			if (r3 > 0xFFFF) {
				r3 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 30:
			r3 = (short) (r1 + r3);
			sinais = mmemoria[29];
			if (r3 > 0xFFFF) {
				r3 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 31:
			r3 = (short) (ra + r3);
			sinais = mmemoria[30];
			if (r3 > 0xFFFF) {
				r3 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 32:
			r4 = (short) (rdados + r4);
			sinais = mmemoria[31];
			if (r4 > 0xFFFF) {
				r4 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 33:
			r4 = (short) (r0 + r4);
			sinais = mmemoria[32];
			if (r4 > 0xFFFF) {
				r4 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 34:
			r4 = (short) (r1 + r4);
			sinais = mmemoria[33];
			if (r4 > 0xFFFF) {
				r4 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 35:
			r4 = (short) (ra + r4);
			sinais = mmemoria[34];
			if (r4 > 0xFFFF) {
				r4 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 36:
			rdados = (short) (rb + rdados);
			mPrincipal.memory.set(rend, (short) rdados);
			sinais = mmemoria[35];
			if (rdados > 0xFFFF) {
				rdados -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 37:
			r0 = (short) ((short) (rb - r0));
			sinais = mmemoria[36];
			if (r0 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r0 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 38:
			r0 = (short) (r2 - r0);
			sinais = mmemoria[37];
			if (r0 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r0 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 39:
			r0 = (short) (r3 - r0);
			sinais = mmemoria[38];
			if (r0 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r0 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 40:
			r0 = (short) (r4 - r0);
			sinais = mmemoria[39];
			if (r0 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r0 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 41:
			r1 = (short) (rb - r1);
			sinais = mmemoria[40];
			if (r1 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r1 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 42:
			r1 = (short) (r2 - r1);
			sinais = mmemoria[41];
			if (r1 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r1 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 43:
			r1 = (short) (r3 - r1);
			sinais = mmemoria[42];
			if (r1 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r1 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 44:
			r1 = (short) (r4 - r1);
			sinais = mmemoria[43];
			if (r1 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r1 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 45:
			r2 = (short) (rdados - r2);
			sinais = mmemoria[44];
			if (r2 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r2 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 46:
			r2 = (short) (r0 - r2);
			sinais = mmemoria[45];
			if (r2 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r2 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 47:
			r2 = (short) (r1 - r2);
			sinais = mmemoria[46];
			if (r2 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r2 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 48:
			r2 = (short) (ra - r2);
			sinais = mmemoria[47];
			if (r2 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r2 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 49:
			r3 = (short) (rdados - r3);
			sinais = mmemoria[48];
			if (r3 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r3 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 50:
			r3 = (short) (r0 - r3);
			sinais = mmemoria[49];
			if (r3 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r3 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 51:
			r3 = (short) (1 - r3);
			sinais = mmemoria[50];
			if (r3 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r3 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 52:
			r3 = (short) (ra - r3);
			sinais = mmemoria[51];
			if (r3 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r3 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 53:
			r4 = (short) (rdados - r4);
			sinais = mmemoria[52];
			if (r4 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r4 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 54:
			r4 = (short) (r0 - r4);
			sinais = mmemoria[53];
			if (r4 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r4 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 55:
			r4 = (short) (r1 - r4);
			sinais = mmemoria[54];
			if (r4 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r4 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 56:
			r4 = (short) (ra - r4);
			sinais = mmemoria[55];
			if (r4 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r4 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 57:
			rdados = (short) (rb - rdados);
			mPrincipal.memory.set(rend, rdados);
			sinais = mmemoria[56];
			if (rdados == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (rdados < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 58:
			r0 = rdados;
			sinais = mmemoria[57];
			break;
		case 59:
			r1 = rdados;
			sinais = mmemoria[58];
			break;
		case 60:
			r2 = rdados;
			sinais = mmemoria[59];
			break;
		case 61:
			r3 = rdados;
			sinais = mmemoria[60];
			break;
		case 62:
			r4 = rdados;
			sinais = mmemoria[61];
			break;
		case 63:
			rdados = rb;
			mPrincipal.memory.set(rend, rdados);
			sinais = mmemoria[62];
			break;
		case 64:
			compara = (short) (r4 - ra);
			sinais = mmemoria[63];
			if (compara == 0) {
				flags[0] = true;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara < 0) {
				flags[0] = false;
				flags[1] = true;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara > 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = true;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 65:
			compara = (short) (r2 - ra);
			sinais = mmemoria[64];
			if (compara == 0) {
				flags[0] = true;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara < 0) {
				flags[0] = false;
				flags[1] = true;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara > 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = true;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 66:
			compara = (short) (r3 - ra);
			sinais = mmemoria[65];
			if (compara == 0) {
				flags[0] = true;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara < 0) {
				flags[0] = false;
				flags[1] = true;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara > 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = true;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 67:
			compara = (short) (r0 - rb);
			sinais = mmemoria[66];
			if (compara == 0) {
				flags[0] = true;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara < 0) {
				flags[0] = false;
				flags[1] = true;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara > 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = true;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 68:
			compara = (short) (r1 - rb);
			sinais = mmemoria[67];
			if (compara == 0) {
				flags[0] = true;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara < 0) {
				flags[0] = false;
				flags[1] = true;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara > 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = true;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 69:
			compara = (short) (ra - rb);
			sinais = mmemoria[68];
			if (compara == 0) {
				flags[0] = true;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara < 0) {
				flags[0] = false;
				flags[1] = true;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara > 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = true;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 70:
			compara = (short) (rdados - rb);
			sinais = mmemoria[69];
			if (compara == 0) {
				flags[0] = true;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara < 0) {
				flags[0] = false;
				flags[1] = true;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara > 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = true;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 71:
			compara = (short) (r0 - r2);
			sinais = mmemoria[70];
			if (compara == 0) {
				flags[0] = true;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara < 0) {
				flags[0] = false;
				flags[1] = true;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara > 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = true;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 72:
			compara = (short) (r1 - r2);
			sinais = mmemoria[71];
			if (compara == 0) {
				flags[0] = true;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara < 0) {
				flags[0] = false;
				flags[1] = true;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara > 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = true;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 73:
			compara = (short) (r0 - r3);
			sinais = mmemoria[72];
			if (compara == 0) {
				flags[0] = true;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara < 0) {
				flags[0] = false;
				flags[1] = true;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara > 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = true;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 74:
			compara = (short) (r1 - r3);
			sinais = mmemoria[73];
			if (compara == 0) {
				flags[0] = true;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara < 0) {
				flags[0] = false;
				flags[1] = true;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara > 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = true;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 75:
			compara = (short) (r0 - r4);
			sinais = mmemoria[74];
			if (compara == 0) {
				flags[0] = true;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara < 0) {
				flags[0] = false;
				flags[1] = true;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara > 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = true;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 76:
			compara = (short) (r1 - r4);
			sinais = mmemoria[75];
			if (compara == 0) {
				flags[0] = true;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara < 0) {
				flags[0] = false;
				flags[1] = true;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = false;
			}
			if (compara > 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = true;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 77:
			r0 = (short) ((short) ((rb | r0)));
			sinais = mmemoria[76];
			if (r0 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 78:
			r0 = (short) ((r2 | r0));
			sinais = mmemoria[77];
			if (r0 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 79:
			r0 = (short) ((r3 | r0));
			sinais = mmemoria[78];
			if (r0 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 80:
			r0 = (short) ((r4 | r0));
			sinais = mmemoria[79];
			if (r0 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 81:
			r1 = (short) ((rb | r1));
			sinais = mmemoria[80];
			if (r1 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 82:
			r1 = (short) ((r2 | r1));
			sinais = mmemoria[81];
			if (r1 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 83:
			r1 = (short) ((r3 | r1));
			sinais = mmemoria[82];
			if (r1 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 84:
			r1 = (short) ((r4 | r1));
			sinais = mmemoria[83];
			if (r1 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 85:
			r2 = (short) ((rdados | r0));
			sinais = mmemoria[84];
			if (r2 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 86:
			r2 = (short) ((r0 | r2));
			sinais = mmemoria[85];
			if (r2 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 87:
			r2 = (short) ((r1 | r2));
			sinais = mmemoria[86];
			if (r2 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 88:
			r2 = (short) ((ra | r2));
			sinais = mmemoria[87];
			if (r2 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 89:
			r3 = (short) ((rdados | r3));
			sinais = mmemoria[88];
			if (r3 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 90:
			r3 = (short) ((r0 | r3));
			sinais = mmemoria[89];
			if (r3 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 91:
			r3 = (short) ((r1 | r3));
			sinais = mmemoria[90];
			if (r3 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 92:
			r3 = (short) ((ra | r3));
			sinais = mmemoria[91];
			if (r3 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 93:
			r4 = (short) ((rdados | r4));
			sinais = mmemoria[92];
			if (r4 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 94:
			r4 = (short) ((r0 | r4));
			sinais = mmemoria[93];
			if (r4 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 95:
			r4 = (short) ((r1 | r4));
			sinais = mmemoria[94];
			if (r4 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 96:
			r4 = (short) ((ra | r4));
			sinais = mmemoria[95];
			if (r4 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 97:
			rdados = (short) ((rb | rdados));
			mPrincipal.memory.set(rend, rdados);
			sinais = mmemoria[96];
			if (rdados == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 98:
			r0 = (short) ((rb & r0));
			sinais = mmemoria[97];
			if (r0 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r0 > 0xFFFF) {
				r0 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 99:
			r0 = (short) ((r2 & r0));
			sinais = mmemoria[98];
			if (r0 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r0 > 0xFFFF) {
				r0 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 100:
			r0 = (short) ((r3 & r0));
			sinais = mmemoria[99];
			if (r0 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r0 > 0xFFFF) {
				r0 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 101:
			r0 = (short) ((r4 & r0));
			sinais = mmemoria[100];
			if (r0 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r0 > 0xFFFF) {
				r0 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 102:
			r1 = (short) ((rb & r1));
			sinais = mmemoria[101];
			if (r1 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r1 > 0xFFFF) {
				r1 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 103:
			r1 = (short) ((r2 & r1));
			sinais = mmemoria[102];
			if (r1 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r1 > 0xFFFF) {
				r1 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 104:
			r1 = (short) ((r3 & r1));
			sinais = mmemoria[103];
			if (r1 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r1 > 0xFFFF) {
				r1 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 105:
			r1 = (short) ((r4 & r1));
			sinais = mmemoria[104];
			if (r1 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r1 > 0xFFFF) {
				r1 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 106:
			r2 = (short) ((rdados & r2));
			sinais = mmemoria[105];
			if (r2 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r2 > 0xFFFF) {
				r2 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 107:
			r2 = (short) ((r0 & r2));
			sinais = mmemoria[106];
			if (r2 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r2 > 0xFFFF) {
				r2 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 108:
			r2 = (short) ((r1 & r2));
			sinais = mmemoria[107];
			if (r2 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r2 > 0xFFFF) {
				r2 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 109:
			r2 = (short) ((ra & r2));
			sinais = mmemoria[108];
			if (r2 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r2 > 0xFFFF) {
				r2 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 110:
			r3 = (short) ((rb & r0));
			sinais = mmemoria[109];
			if (r3 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r3 > 0xFFFF) {
				r3 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 111:
			r3 = (short) ((r0 & r3));
			sinais = mmemoria[110];
			if (r3 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r3 > 0xFFFF) {
				r3 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 112:
			r3 = (short) ((r1 & r3));
			sinais = mmemoria[111];
			if (r3 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r3 > 0xFFFF) {
				r3 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 113:
			r3 = (short) ((ra & r3));
			sinais = mmemoria[112];
			if (r3 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r3 > 0xFFFF) {
				r3 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 114:
			r4 = (short) ((rdados & r4));
			sinais = mmemoria[113];
			if (r4 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r4 > 0xFFFF) {
				r4 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 115:
			r4 = (short) ((r0 & r4));
			sinais = mmemoria[114];
			if (r4 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r4 > 0xFFFF) {
				r4 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 116:
			r4 = (short) ((r1 & r4));
			sinais = mmemoria[115];
			if (r4 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r4 > 0xFFFF) {
				r4 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 117:
			r4 = (short) ((ra & r4));
			sinais = mmemoria[116];
			if (r4 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (r4 > 0xFFFF) {
				r4 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 118:
			rdados = (short) ((rb & rdados));
			mPrincipal.memory.set(rend, rdados);
			sinais = mmemoria[117];
			if (rdados == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			if (rdados > 0xFFFF) {
				rdados -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 119:
			r0 = (short) ((short) ((r0 << 1)));
			sinais = mmemoria[118];
			if (r0 > 0xFFFF) {
				r0 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 120:
			r1 = (short) ((r1 << 1));
			sinais = mmemoria[119];
			if (r1 > 0xFFFF) {
				r1 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 121:
			r2 = (short) ((r2 << 1));
			sinais = mmemoria[120];
			if (r2 > 0xFFFF) {
				r2 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 122:
			r3 = (short) ((r3 << 1));
			sinais = mmemoria[121];
			if (r3 > 0xFFFF) {
				r3 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 123:
			r4 = (short) ((r4 << 1));
			sinais = mmemoria[122];
			if (r4 > 0xFFFF) {
				r4 -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 124:
			rdados = (short) ((rdados << 1));
			mPrincipal.memory.set(rend, rdados);
			sinais = mmemoria[123];
			if (rdados > 0xFFFF) {
				rdados -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 125:
			r0 = (short) ((short) ((r0 >> 1)));
			sinais = mmemoria[124];
			if (r0 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 126:
			r1 = (short) ((r1 >> 1));
			sinais = mmemoria[125];
			if (r1 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 127:
			r2 = (short) ((r2 >> 1));
			sinais = mmemoria[126];
			if (r2 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 128:
			r3 = (short) ((r3 >> 1));
			sinais = mmemoria[127];
			if (r3 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 129:
			r4 = (short) ((r4 >> 1));
			sinais = mmemoria[128];
			if (r4 == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 130:
			rdados = (short) ((rdados >> 1));
			mPrincipal.memory.set(rend, rdados);
			sinais = mmemoria[129];
			if (rdados == 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = true;
				flags[4] = false;
				flags[5] = false;
			}
			break;
		case 131:
			r0 = (short) (0 - r0);
			sinais = mmemoria[130];
			if (r0 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 132:
			r1 = (short) (0 - r1);
			sinais = mmemoria[131];
			if (r1 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 133:
			r2 = (short) (0 - r2);
			sinais = mmemoria[132];
			if (r2 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 134:
			r3 = (short) (0 - r3);
			sinais = mmemoria[133];
			if (r3 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 135:
			r4 = (short) (0 - r4);
			sinais = mmemoria[134];
			if (r4 < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 136:
			rdados = (short) (0 - rdados);
			mPrincipal.memory.set(rend, rdados);
			sinais = mmemoria[135];
			if (rdados < 0) {
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = true;
				flags[5] = false;
			}
			break;
		case 137:
			r0 = 0;
			sinais = mmemoria[136];
			flags[0] = false;
			flags[1] = false;
			flags[2] = false;
			flags[3] = true;
			flags[4] = false;
			flags[5] = false;
			break;
		case 138:
			r1 = 0;
			sinais = mmemoria[137];
			flags[0] = false;
			flags[1] = false;
			flags[2] = false;
			flags[3] = true;
			flags[4] = false;
			flags[5] = false;
			break;
		case 139:
			r2 = 0;
			sinais = mmemoria[138];
			flags[0] = false;
			flags[1] = false;
			flags[2] = false;
			flags[3] = true;
			flags[4] = false;
			flags[5] = false;
			break;
		case 140:
			r3 = 0;
			sinais = mmemoria[139];
			flags[0] = false;
			flags[1] = false;
			flags[2] = false;
			flags[3] = true;
			flags[4] = false;
			flags[5] = false;
			break;
		case 141:
			r4 = 0;
			sinais = mmemoria[140];
			flags[0] = false;
			flags[1] = false;
			flags[2] = false;
			flags[3] = true;
			flags[4] = false;
			flags[5] = false;
			break;
		case 142:
			rdados = 0;
			mPrincipal.memory.set(rend, rdados);
			sinais = mmemoria[141];
			flags[0] = false;
			flags[1] = false;
			flags[2] = false;
			flags[3] = true;
			flags[4] = false;
			flags[5] = false;
			break;
		case 143:
			r0 = (short) ~r0;
			sinais = mmemoria[142];
			break;
		case 144:
			r1 = (short) ~r1;
			sinais = mmemoria[143];
			break;
		case 145:
			r2 = (short) ~r2;
			sinais = mmemoria[144];
			break;
		case 146:
			r3 = (short) ~r3;
			sinais = mmemoria[145];
			break;
		case 147:
			r4 = (short) ~r4;
			sinais = mmemoria[146];
			break;
		case 148:
			rdados = (short) ~rdados;
			mPrincipal.memory.set(rend, rdados);
			sinais = mmemoria[147];
			break;
		case 149:
			pc = rdados;
			sinais = mmemoria[148];
			break;
		case 150:
			pc = (short) (pc + 1);
			sinais = mmemoria[149];
			if (pc > 0xFFFF) {
				pc -= 0x10000;
				flags[0] = false;
				flags[1] = false;
				flags[2] = false;
				flags[3] = false;
				flags[4] = false;
				flags[5] = true;
			}
			break;
		case 151:
			rb = r2;
			sinais = mmemoria[150];
			break;
		case 152:
			rb = r3;
			sinais = mmemoria[151];
			break;
		case 153:
			rb = r4;
			sinais = mmemoria[152];
			break;
		case 154:
			ra = rdados;
			sinais = mmemoria[153];
			break;
		case 155:
			// r0 = r0;
			sinais = mmemoria[154];
			break;
		case 156:
			r1 = r0;
			sinais = mmemoria[155];
			break;
		case 157:
			r2 = r0;
			sinais = mmemoria[156];
			break;
		case 158:
			r3 = r0;
			sinais = mmemoria[157];
			break;
		case 159:
			r4 = r0;
			sinais = mmemoria[158];
			break;
		case 160:
			r0 = r1;
			sinais = mmemoria[159];
			break;
		case 161:
			// r1 = r1;
			sinais = mmemoria[160];
			break;
		case 162:
			r2 = r1;
			sinais = mmemoria[161];
			break;
		case 163:
			r3 = r1;
			sinais = mmemoria[162];
			break;
		case 164:
			r4 = r1;
			sinais = mmemoria[163];
			break;
		case 165:
			r0 = r2;
			sinais = mmemoria[164];
			break;
		case 166:
			r1 = r2;
			sinais = mmemoria[165];
			break;
		case 167:
			// r2 = r2;
			sinais = mmemoria[166];
			break;
		case 168:
			r3 = r2;
			sinais = mmemoria[167];
			break;
		case 169:
			r4 = r2;
			sinais = mmemoria[168];
			break;
		case 170:
			r0 = r3;
			sinais = mmemoria[169];
			break;
		case 171:
			r1 = r3;
			sinais = mmemoria[170];
			break;
		case 172:
			r2 = r3;
			sinais = mmemoria[171];
			break;
		case 173:
			// r3 = r3;
			sinais = mmemoria[172];
			break;
		case 174:
			r4 = r3;
			sinais = mmemoria[173];
			break;
		case 175:
			r0 = r4;
			sinais = mmemoria[174];
			break;
		case 176:
			r1 = r4;
			sinais = mmemoria[175];
			break;
		case 177:
			r2 = r4;
			sinais = mmemoria[176];
			break;
		case 178:
			r3 = r4;
			sinais = mmemoria[177];
			break;
		case 179:
			// r4 = r4;
			sinais = mmemoria[178];
			break;
		}
	}
			//Lista de Micros
	private void initLabelMicro(){
		String labelMicro2[] ={
				"Rend <- PC",
				"Rdados <- ( Rend )",
				"IR <- Rdados",
				"Rend,PC <- PC + 1",
				"Rend <- ( R0 )",
				"Rend <- ( R1 )",
				"Rend <- ( R2 )",
				"Rend <- ( R3 )",
				"Rend <- ( R4 )",
				"RegB <- Rdados",
				"RegB <- R0",
				"RegB <- R1",
				"RegA <- R2",
				"RegA <- R3",
				"RegA <- R4",
				"R0 <- soma(Rb + R0)",
				"R0 <- soma(R2 , R0)",
				"R0 <- soma(R3 , R0)",
				"R0 <- soma(R4 , R0)",
				"R1 <- soma(Rb + R1)",
				"R1 <- soma(R2 , R1)",
				"R1 <- soma(R3 , R1)",
				"R1 <- soma(R4 , R1)",
				"R2 <- soma(Rdad + R2) ",
				"R2 <- soma(R0 , R2)",
				"R2 <- soma(R1 , R2)",
				"R2 <- soma(Ra + R2)",
				"R3 <- soma(Rdad + R3) ",
				"R3 <- soma(R0 , R3)",
				"R3 <- soma(R1 , R3)",
				"R3 <- soma(Ra + R3)",
				"R4 <- soma(Rdad + R4) ",
				"R4 <- soma(R0 , R4)",
				"R4 <- soma(R1 , R4)",
				"R4 <- soma(Ra + R4)",
				"mem(R*) <- s(Rb + Rdad)",
				"R0 <- sub(Rb - R0)",
				"R0 <- sub(R2 - R0)",
				"R0 <- sub(R3 - R0)",
				"R0 <- sub(R4 - R0)",
				"R1 <- sub(Rb - R1)",
				"R1 <- sub(R2 - R1)",
				"R1 <- sub(R3 - R1)",
				"R1 <- sub(R4 - R1)",
				"R2 <- sub(Rdad - R2)",
				"R2 <- sub(R0 - R2)",
				"R2 <- sub(R1 - R2)",
				"R2 <- sub(Ra - R2)",
				"R3 <- sub(Rdad - R3)",
				"R3 <- sub(R0 - R3)",
				"R3 <- sub(R1 - R3)",
				"R3 <- sub(Ra - R3)",
				"R4 <- sub(Rdad - R4)",
				"R4 <- sub(R0 - R4)",
				"R4 <- sub(R1 - R4)",
				"R4 <- sub(Ra - R4)",
				"mem(R*)<-sub(Rb - Rdad)",
				"R0 <- Rdados",
				"R1 <- Rdados",
				"R2 <- Rdados",
				"R3 <- Rdados",
				"R4 <- Rdados",
				"mem(R*) <- Regb",
				"CMP <- RegA , R4",
				"CMP <- RegA , R2",
				"CMP <- RegA , R3",
				"CMP <- RegB , R0",
				"CMP <- RegB , R1",
				"CMP <- RegB , RegA",
				"CMP <- RegB , Rdados",
				"CMP <- R2 , R0",
				"CMP <- R2 , R1",
				"CMP <- R3 , R0",
				"CMP <- R3 , R1",
				"CMP <- R4 , R0",
				"CMP <- R4 , R1",
				"R0 <- or(Rb + R0)",
				"R0 <- or(R2 , R0)",
				"R0 <- or(R3 , R0)",
				"R0 <- or(R4 , R0)",
				"R1 <- or(Rb + R1)",
				"R1 <- or(R2 , R1)",
				"R1 <- or(R3 , R1)",
				"R1 <- or(R4 , R1)",
				"R2 <- or(Rdad + R2)",
				"R2 <- or(R0 , R2)",
				"R2 <- or(R1 , R2)",
				"R2 <- or(Ra + R2)",
				"R3 <- or(Rdad + R3)",
				"R3 <- or(R0 , R3)",
				"R3 <- or(R1 , R3)",
				"R3 <- or(Ra + R3)",
				"R4 <- or(Rdad + R4)",
				"R4 <- or(R0 , R4)",
				"R4 <- or(R1 , R4)",
				"R4 <- or(Ra + R4)",
				"mem(R*)<-or(Rb + Rdad)",
				"R0 <- AND(Rb , R0)",
				"R0 <- AND(R2 , R0)",
				"R0 <- AND(R3 , R0)",
				"R0 <- AND(R4 , R0)",
				"R1 <- AND(Rb , R1)",
				"R1 <- AND(R2 , R1)",
				"R1 <- AND(R3 , R1)",
				"R1 <- AND(R4 , R1)",
				"R2 <- AND(Rdad + R2)",
				"R2 <- AND(R0 , R2)",
				"R2 <- AND(R1 , R2)",
				"R2 <- AND(Ra + R2)",
				"R3 <- AND(Rdad + R3)",
				"R3 <- AND(R0 , R3)",
				"R3 <- AND(R1 , R3)",
				"R3 <- AND(Ra + R3)",
				"R4 <- AND(Rdad + R4)",
				"R4 <- AND(R0 , R4)",
				"R4 <- AND(R1 , R4)",
				"R4 <- AND(Ra + R4)",
				"mem(R*)<-and(Rb + Rdad)",
				"SHL R0",
				"SHL R1",
				"SHL R2",
				"SHL R3",
				"SHL R4",
				"Mem�ria<-Rdados <- SHL",
				"SHR R0",
				"SHR R1",
				"SHR R2",
				"SHR R3",
				"SHR R4",
				"Mem�ria<-Rdados <- SHR",
				"NEG R0",
				"NEG R1",
				"NEG R2",
				"NEG R3",
				"NEG R4",
				"Mem�ria<-Rdados <- NEG",
				"CLR R0",
				"CLR R1",
				"CLR R2",
				"CLR R3",
				"CLR R4",
				"Mem�ria<-Rdados <- CLR",
				"NOT R0",
				"NOT R1",
				"NOT R2",
				"NOT R3",
				"NOT R4",
				"Mem�ria<-Rdados <- NOT",
				"PC <- Rdados",
				"PC <- PC + 1",
				"RegB <- R2",
				"RegB <- R3",
				"RegB <- R4",
				"RegA <- Rdados",
				"R0 <- R0",
				"R1 <- R0",
				"R2 <- R0",
				"R3 <- R0",
				"R4 <- R0",
				"R0 <- R1",
				"R1 <- R1",
				"R2 <- R1",
				"R3 <- R1",
				"R4 <- R1",
				"R0 <- R2",
				"R1 <- R2",
				"R2 <- R2",
				"R3 <- R2",
				"R4 <- R2",
				"R0 <- R3",
				"R1 <- R3",
				"R2 <- R3",
				"R3 <- R3",
				"R4 <- R3",
				"R0 <- R4",
				"R1 <- R4",
				"R2 <- R4",
				"R3 <- R4",
				"R4 <- R4"
		};
		for (int i = 0; i < 179; i++)
			labelMicro.add(labelMicro2[i]);
	}
	private void initMemory() {
		// size[179][23]
		int mmemoria2[][] = {
				{ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0 },
				{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1 },
				{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 },
				{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } };

		for (int i = 0; i < 179; i++) {
			for (int j = 0; j < 23; j++)
				mmemoria[i][j] = mmemoria2[i][j];
			// end[i] = i+1 ;
		}
	}

}
